import 'package:intl/intl.dart';

extension IntExtensions on int {
  String format02() {
    return toString().padLeft(2, '0');
  }
}

int get currentTimeMillis {
  return DateTime.now().millisecondsSinceEpoch;
}

class DateUtils {
  DateUtils._();

  // 默认的时间格式
  static const String YMD_HMS = 'yyyy-MM-dd HH:mm:ss';
  static const String YMD_HMS_SSS = 'yyyy-MM-dd HH:mm:ss.SSS';

  /// 按照指定格式把时间转换成字符串，格式的写法类似yyyy-MM-dd HH:mm:ss.SSS
  ///
  /// @param calendar 时间
  /// @param format   格式
  /// @return 时间字符串
  static String getFormatTime({DateTime? date, String format = YMD_HMS}) {
    try {
      date ??= DateTime.now();
      final DateFormat dateFormat = DateFormat(format);
      return dateFormat.format(date);
    } catch (e) {
      print(e.toString());
      return "";
    }
  }
}

void main() {
  // 示例用法
  DateTime now = DateTime.now();
  String formattedTime = DateUtils.getFormatTime(date: now);
  print(formattedTime); // 输出当前时间的格式化字符串
}
